Data communication and the use of data communication networks continue to grow at a rapid pace. As part of this growth comes a desire for ever increasing data transmission speeds as well as an increases in the volume of data traffic carried over such data networks. Various techniques may be employed in order to facilitate such increases in data communication speed as well as increases in data traffic volume.
For instance, advances in technology (e.g., semiconductor technology) allow network elements included in such data communication networks to be designed to run at faster speeds than previous network elements. Currently, data networks with one gigabit per second data rates are relatively common, while data networks with ten gigabit per second data rates are increasing in number.
As another technique for facilitating increases in data communication speed and accommodating increases in data traffic volume, network elements implemented in such data communication networks may be designed to include an increased number of data communication channels (ports) for communicating data into and out of the network elements.
One such network element that may use such approaches is a data network switch fabric. Such switch fabrics may be used to interconnect different leaf elements or communicate data between separate portions of a data network that are operationally connected through the data switch fabric. In other embodiments, data switch fabrics may be used to communicate data between different networks, such as a local area network and a wide area network (e.g., the Internet). By increasing the speed and number of ports used to communicate data in and out of such a network switch fabric (or other network element), the total volume of data traffic communicated through the network switch fabric, as well as the data rate of that traffic, may be increased. Such approaches, however, have drawbacks.
For instance, increasing the number of ports of a network switch fabric (or any network element) increases the cost of implementing such a network switch fabric (or network element), as additional hardware is needed to implement the additional data ports. Accordingly, each additional port added to a network element (e.g., a network switch fabric) increases the overall cost of the network element.
Also, increasing the data communication speed of each port of a network element (network switch fabric) is limited by the components that are used to implement the particular network element. For example, if a network element includes a component that is capable of operation at 1 gigabit per second data rates, such a network element cannot be operated at higher data rates. Therefore, increases in data communication rates and data traffic volume by increasing the speed of individual data port are limited by the performance characteristics of the network elements and the physical links between them.
Furthermore, even increasing the data communication speed and/or the number of ports does not insure that data communicated through a network element (e.g., network switch fabric) will be communicated efficiently. For instance, if a large volume of data is communicated over a single path of a network switch fabric, data queues used to buffer data traffic in that path may fill up, causing congestion in the network element. As a result, network entities communicating data flows on the congested path (even those not contributing to the congestion) may be instructed to reduce their data communication rates, or even halt their data flows that are being communicated over the congested path. Such a result is contrary to the objective of increasing data communication rates and data traffic volume.